package br.com.boreo.boreoapp_orcamento.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

import android.annotation.SuppressLint;
import android.content.Context;
import br.com.boreo.boreoapp_orcamento.dao.OrcamentosDAO;
import br.com.boreo.boreoapp_orcamento.model.Orcamento;

@SuppressLint("SimpleDateFormat")
public class OrcamentosController {

	private OrcamentosDAO orcamentosDAO;
	
	SimpleDateFormat formatadorData = new SimpleDateFormat("dd/MM/yyyy");
	SimpleDateFormat formatadorHora = new SimpleDateFormat("H:m:s");

	public OrcamentosController(Context context) {
		orcamentosDAO = new OrcamentosDAO(context);
	}
	
	public long inserir(int id_cliente, int id_obra, int id_usuario, int id_loja, String data, String hora, int sincronizado, double valor) {
		return orcamentosDAO.inserir(id_cliente, id_obra, id_usuario, id_loja, formatadorData.format(new Date()), formatadorHora.format(new Date()), sincronizado, valor);
	}

	public long inserirComId(int id, int id_cliente, int id_obra, int id_usuario, int id_loja, String data, String hora, int sincronizado, double valor) {
		return orcamentosDAO.inserirComId(id, id_cliente, id_obra, id_usuario, id_loja, data, hora, sincronizado, valor);
	}

	public long alterar(int id, int id_cliente, int id_obra, int id_usuario, int id_loja, String data, String hora, int sincronizado, double valor) {
		return orcamentosDAO.alterar(id, id_cliente, id_obra, id_usuario, id_loja, formatadorData.format(new Date()), formatadorHora.format(new Date()), sincronizado, valor);
	}

	public ArrayList<Orcamento> selectOrcamentos(){
		return orcamentosDAO.selectOrcamentos();
	}

	public ArrayList<Orcamento> selectOrcamentoPorCliente(String campoPesquisa, int checkSincronizados) {
		return orcamentosDAO.selectOrcamentoPorCliente(campoPesquisa, checkSincronizados);
	}
	
//	public ArrayList<Orcamento> selectOrcamentoPorClienteNaoSincronizados(String campoPesquisa, Boolean checkSincronizados) {
//		return orcamentosDAO.selectOrcamentoPorClienteSincronizados(campoPesquisa);
//	}
	

	public ArrayList<Orcamento> selectOrcamentoPorId(int id_orcamento) {
		return orcamentosDAO.selectOrcamentoPorId(id_orcamento);
	}
	
	public ArrayList<Orcamento> selectUltimoOrcamento() {
		return orcamentosDAO.ultimoOrcamento();
	}
	
	public ArrayList<Orcamento> selectOrcamentoNaoSincronizados() {
		return orcamentosDAO.selectOrcamentoNaoSincronizados();
	}

	public ArrayList<Orcamento> selectOrcamentoSincronizados() {
		return orcamentosDAO.selectOrcamentoSincronizados();
	}

	public void excluirTodosOrcamentos() {
		orcamentosDAO.excluirTodosOrcamentos();
	}
	
	public void excluirOrcamentoPorId(int id_orcamento) {
		orcamentosDAO.excluirOrcamentoPorId(id_orcamento);
	}

	public String mudarParaSincronizada(int id_orcamento) {
		return orcamentosDAO.mudarParaSincronizada(id_orcamento);
	}
}
